{% extends "base.html" %}
{% import "bootstrap/wtf.html" as wtf %}
{% import "_macros.html" as macros %}

{% block title %}语音识别模型基准测试系统{% endblock %}

{% block page_content %}
<div class="page-header">
    <a href="{{ url_for('.lexicon_dict') }}">返回发音字典总页</a>
    <p>名称: {{ lexicon_dict.name }}</p>
    <p>字素-音素转换的模块名: {{ lexicon_dict.g2p_modulename }}</p>
    <p>字素-音素转换的模块的全局函数名: {{ lexicon_dict.g2p_classname }}</p>
    <p>字素-音素转换的全局函数的参数列表：{{ lexicon_dict.g2p_parameters }}</p>
    {% if lexicon_dict.g2p_attribute %}
    <p>字素-音素转换的[函数名(参数列表)]: {{ lexicon_dict.g2p_attribute }}</p>
    {% endif %}
    <pre id="g2p-code-pre" style="display:none;"></pre>
    <a class="btn btn-default" href="javascript:void(0)" onclick="get_code('{{ lexicon_dict.g2p_modulename }}','{{ lexicon_dict.g2p_classname }}','g2p')">获取字素-音素转换的源代码</a>
    {% if lexicon_dict.g2p_dict_file %}
    <p>字素-音素转换所用的字典的文件路径：{{ lexicon_dict.g2p_dict_file }}</p>
    {% endif %}
    {% if lexicon_dict.g2p_dict_modulename %}
    <p>获取字素-音素转换所用的字典的模块名：{{ lexicon_dict.g2p_dict_modulename }}</p>
    <p>获取字素-音素转换所用的字典的模块的全局函数名：{{ lexicon_dict.g2p_dict_classname }}</p>
    <p>获取字素-音素转换所用的字典的全局函数的参数列表：{{ lexicon_dict.g2p_dict_parameters }}</p>
    {% if lexicon_dict.g2p_dict_attribute %}
    <p>获取字素-音素转换所用的字典的[函数名(参数列表)]：{{ lexicon_dict.g2p_dict_attribute }}</p>
    {% endif %}
    <pre id="g2p-dict-code-pre" style="display:none;"></pre>
    <a class="btn btn-default" href="javascript:void(0)" onclick="get_code('{{ lexicon_dict.g2p_dict_modulename }}','{{ lexicon_dict.g2p_dict_classname }}','g2p-dict')">获取获取字素-音素转换所用的字典的源代码</a>
    {% endif %}
    <p>编码音素的模块名：{{ lexicon_dict.penc_modulename }}</p>
    <p>编码音素的模块的全局函数名：{{ lexicon_dict.penc_classname }}</p>
    <p>编码音素的全局函数的参数列表：{{ lexicon_dict.penc_parameters }}</p>
    {% if lexicon_dict.penc_attribute %}
    <p>编码音素的[函数名(参数列表)]：{{ lexicon_dict.penc_attribute }}</p>
    {% endif %}
    <pre id="penc-code-pre" style="display:none;"></pre>
    <a class="btn btn-default" href="javascript:void(0)" onclick="get_code('{{ lexicon_dict.penc_modulename }}','{{ lexicon_dict.penc_classname }}','penc')">获取编码音素的源代码</a>
    {% if lexicon_dict.penc_dict_file %}
    <p>编码音素所用的字典的文件路径：{{ lexicon_dict.penc_dict_file }}</p>
    {% endif %}
    {% if lexicon_dict.penc_dict_modulename %}
    <p>获取编码音素所用的字典的模块名：{{ lexicon_dict.penc_dict_modulename }}</p>
    <p>获取编码音素所用的字典的模块的全局函数名：{{ lexicon_dict.penc_dict_classname }}</p>
    <p>获取编码音素所用的字典的全局函数的参数列表：{{ lexicon_dict.penc_dict_parameters }}</p>
    {% if lexicon_dict.penc_dict_attribute %}
    <p>获取编码音素所用的字典的[函数名(参数列表)]：{{ lexicon_dict.penc_dict_attribute }}</p>
    {% endif %}
    <pre id="penc-dict-code-pre" style="display:none;"></pre>
    <a class="btn btn-default" href="javascript:void(0)" onclick="get_code('{{ lexicon_dict.penc_dict_modulename }}','{{ lexicon_dict.penc_dict_classname }}','penc-dict')">获取获取编码音素所用的字典的源代码</a>
    {% endif %}
    <p>解码音素的模块名：{{ lexicon_dict.pdec_modulename }}</p>
    <p>解码音素的模块的全局函数名：{{ lexicon_dict.pdec_classname }}</p>
    <p>解码音素的全局函数的参数列表：{{ lexicon_dict.pdec_parameters }}</p>
    {% if lexicon_dict.pdec_attribute %}
    <p>解码音素的[函数名(参数列表)]：{{ lexicon_dict.pdec_attribute }}</p>
    {% endif %}
    <pre id="pdec-code-pre" style="display:none;"></pre>
    <a class="btn btn-default" href="javascript:void(0)" onclick="get_code('{{ lexicon_dict.pdec_modulename }}','{{ lexicon_dict.pdec_classname }}','pdec')">获取解码音素的源代码</a>
    {% if lexicon_dict.pdec_dict_file %}
    <p>解码音素所用的字典的文件路径：{{ lexicon_dict.pdec_dict_file }}</p>
    {% endif %}
    {% if lexicon_dict.pdec_dict_modulename %}
    <p>获取解码音素所用的字典的模块名：{{ lexicon_dict.pdec_dict_modulename }}</p>
    <p>获取解码音素所用的字典的模块的全局函数名：{{ lexicon_dict.pdec_dict_classname }}</p>
    <p>获取解码音素所用的字典的全局函数的参数列表：{{ lexicon_dict.pdec_dict_parameters }}</p>
    {% if lexicon_dict.pdec_dict_attribute %}
    <p>获取解码音素所用的字典的[函数名(参数列表)]：{{lexicon_dict.pdec_dict_attribute }}</p>
    {% endif %}
    <pre id="pdec-dict-code-pre" style="display:none;"></pre>
    <a class="btn btn-default" href="javascript:void(0)" onclick="get_code('{{ lexicon_dict.pdec_dict_modulename }}','{{ lexicon_dict.pdec_dict_classname }}','pdec-dict')">获取获取解码音素所用的字典的源代码</a>
    {% endif %}
    <p>音素-字素转换的模块名：{{ lexicon_dict.p2g_modulename }}</p>
    <p>音素-字素转换的模块的全局函数名：{{ lexicon_dict.p2g_classname }}</p>
    <p>音素-字素转换的全局函数的参数列表：{{ lexicon_dict.p2g_parameters }}</p>
    {% if lexicon_dict.p2g_attribute %}
    <p>音素-字素转换的[函数名(参数列表)]：{{ lexicon_dict.p2g_attribute }}</p>
    {% endif %}
    <pre id="p2g-code-pre" style="display:none;"></pre>
    <a class="btn btn-default" href="javascript:void(0)" onclick="get_code('{{ lexicon_dict.p2g_modulename }}','{{ lexicon_dict.p2g_classname }}','p2g')">获取音素-字素转换的源代码</a>
    {% if lexicon_dict.p2g_dict_file %}
    <p>音素-字素转换所用的字典的文件路径：{{ lexicon_dict.p2g_dict_file }}</p>
    {% endif %}
    {% if lexicon_dict.p2g_dict_modulename %}
    <p>获取音素-字素转换所用的字典的模块名：{{ lexicon_dict.p2g_dict_modulename }}</p>
    <p>获取音素-字素转换所用的字典的模块的全局函数名：{{ lexicon_dict.p2g_dict_classname }}</p>
    <p>获取音素-字素转换所用的字典的全局函数的参数列表：{{ lexicon_dict.p2g_dict_parameters }}</p>
    {% if lexicon_dict.p2g_dict_attribute %}
    <p>获取音素-字素转换所用的字典的[函数名(参数列表)]：{{ lexicon_dict.p2g_dict_attribute }}</p>
    {% endif %}
    <pre id="p2g-dict-code-pre" style="display:none;"></pre>
    <a class="btn btn-default" href="javascript:void(0)" onclick="get_code('{{ lexicon_dict.p2g_dict_modulename }}','{{ lexicon_dict.p2g_dict_classname }}','p2g-dict')">获取获取音素-字素转换所用的字典的源代码</a>
    {% endif %}
    <a class="btn btn-default" href="{{ url_for('.lexicon_dict_edit',id=lexicon_dict.id) }}">修改发音字典信息</a>
    <a class="btn btn-default" href="{{ url_for('.lexicon_dict_delete',id=lexicon_dict.id) }}">删除发音字典信息</a>
    <a class="btn btn-default" href="{{ url_for('.lexicon_dict_json',id=lexicon_dict.id) }}">导出发音字典的json配置文件</a><br>
    <a class="btn btn-default" href="{{ url_for('.lexicon_dict_active',id=lexicon_dict.id) }}">更新活动时间</a>
    <a class="btn btn-default" href="{{ url_for('.lexicon_dict_copy',id=lexicon_dict.id) }}">以此为模版新建</a><br>
    
    <span id="span-1"></span><br>
    <span id="span-2"></span><br>
    <span id="span-3"></span>
    {% if model_names %}
    <p>
        使用本发音字典的语音识别模型是<br>
        {% for i in range(model_names|length) %}
        <a href="{{ url_for('.m',id=model_ids[i]) }}">{{ model_names[i] }}</a>，
        {% endfor %}
    </p>
    {% endif %}
</div>
<script type="text/javascript">
    function update_get_code_status(status_url,typ){
        $.getJSON(status_url,function(data){
            $('#span-1').text($('#span-2').text());
            $('#span-2').text($('#span-3').text());
            if('result' in data){
                console.log(data);
                $('#'+typ+'-code-pre').attr('style','display:block;');
                $('#'+typ+'-code-pre').text(data['result']);
            }else{
                $('#span-3').text(data['time']+' '+data['state']+' '+data['status']);
            }
            if(data['state']=='PENDING'||data['state']=='PROGRESS'){
                setTimeout(function(){
                    update_get_code_status(status_url,typ);
                },1000);
            }
        });
    }

    function get_code(modulename,classname,typ){
        $.ajax({
            type:'POST',
            url:'/get_code?modulename='+modulename+'&classname='+classname,
            success:function(data,status,request){
                status_url=request.getResponseHeader('Location');
                update_get_code_status(status_url,typ);
            },
            error:function(){
                alert('获取'+modulename+'的'+classname+'类/函数区块代码的过程中出现错误');
            }
        });
    }
</script>
{% endblock %}